Re: [SQL] Expr Abbreviations/Functions? - Mailing list pgsql-sql

From Herouth Maoz
Subject Re: [SQL] Expr Abbreviations/Functions?
Date
Msg-id l03130302b3c1e5bcad24@[147.233.159.109]
Whole thread Raw
In response to Re: [SQL] Expr Abbreviations/Functions?  ("tjk@tksoft.com" <tjk@tksoft.com>)
List pgsql-sql
At 07:52 +0300 on 26/07/1999, tjk@tksoft.com wrote:


> If I recall the original question correctly, the
> "only" real solution would seem to be to define
> a function to search the appropriate fields.

Yes. The original question had a conceptual problem. It wanted to
abbreviate the expression without the name of the table. This was
nonsensical - you can't ask whether id > 3. You can ask whether person.id >
3. Just "id" could be anything in the world. Asking a database to do that
is like asking a person to play a flute in vacuum.

Another problem was that it implied returning a set of rows. This is not
well supported by postgres - and that's a known limitation.

The best thing that can be done at the moment is to have a function that
accepts the strings as parameters and returns a boolean:

CREATE FUNCTION match_three ( text, text, text, text ) RETURNS bool AS ' SELECT (( $1 ~ $4 ) OR ( $2 ~ $4 ) OR ($3 ~
$4))
' LANGUAGE 'sql';

Then it can be used as:

SELECT * FROM table1
WHERE match_three( x1, x2, x3, 'foo' );

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma




pgsql-sql by date:

Previous
From: wieck@debis.com (Jan Wieck)
Date:
Subject: Re: [SQL] ERROR: DefineQueryRewrite: rule plan string too big.
Next
From: "D'Arcy" "J.M." Cain
Date:
Subject: Re: [SQL] database design SQL prob.